﻿using GdNet.Core.Assistants;

namespace GdNet.Core.Domain.Metadata
{
    public class EntityWithModificationMeta
    {
        private class DefaultEntityWithModification : AbstractEntityWithModification<int>
        {
            internal static readonly DefaultEntityWithModification Instance = new DefaultEntityWithModification();

            private DefaultEntityWithModification() { }
        }

        public static readonly string CreatedAt = ObjectAssistant.GetPropertyName(() => DefaultEntityWithModification.Instance.CreatedAt);
        public static readonly string CreatedBy = ObjectAssistant.GetPropertyName(() => DefaultEntityWithModification.Instance.CreatedBy);
        public static readonly string LastModifiedAt = ObjectAssistant.GetPropertyName(() => DefaultEntityWithModification.Instance.LastModifiedAt);
        public static readonly string LastModifiedBy = ObjectAssistant.GetPropertyName(() => DefaultEntityWithModification.Instance.LastModifiedBy);
    }
}
